package com.alibaba.citrus.ots.price.sdk;

import com.alibaba.citrus.ots.price.dto.request.price.*;
import com.alibaba.citrus.ots.price.dto.response.price.*;
import com.alibaba.cz.base.tool.result.Result;
import com.alibaba.lattice2.epoch.meshflow.model.annotation.MeshFlowService;

/**
 * @author: qiaojiange
 * @create: 2021/09/15
 * @Description 价格写入接口，用来同步 SAP 的数据
 */
@MeshFlowService(apps = {"bc_ots"}, name = "PriceWriteService")
public interface PriceWriteService {
    /**
     * 同步价格类型
     * @param request
     * @return
     */
    Result<SyncPriceTypeResponse> syncPriceTypeData(SyncPriceTypeRequest request);

    /**
     * 同步价格维度数据,对应同步 SAP 的维度表中 的数据
     * @param request
     * @return
     *
     * todo qjg 之前叫 syncPriceDimensionDate,是提供个 SAP 的被动接口
     */
    Result<SyncPriceDimensionDataResponse> syncPricePropertyConfigData(SyncPriceDimensionConfigDataRequest request);

    /**
     * 同步价格存储数据
     * @param request
     * @return
     */
    Result<SyncPriceDataResponse> syncPriceRecordData(SyncPriceDataRequest request);


    /**
     * 创建价格维度
     * @param createPriceDimensionRequest
     * @return
     */
    Result<CreatePriceDimensionResponse> createPriceDimension(CreatePriceDimensionRequest createPriceDimensionRequest);

    /**
     * 修改价格维度
     */
    Result<ModifyPriceDimensionResponse> modifyPriceDimension(ModifyPriceDimensionRequest modifyPriceDimensionRequest);

}
